100 REM SAVE "0:MENUS DEMO",8 110 REM 'HIRES MENUS DEMONSTRATION 120 IF PEEK(49153)<>194 THEN LOAD "HIRES",8,1 130 IF PEEK(32769)<> 97 THEN LOAD "MENUS",8,1 140 : 150 POKE52,128:POKE56,128:CLR:REM RESERVE MEMORY 160 : 170 REM 'HIRES' VARIABLES 180 HIRES=49152:DRAW=HI+3:PLOT=DR+3 190 MVE=PL+3:CLSCR=MV+3:DMODE=CL+3 200 SELPC=DM+3:COLOUR=SE+3:BOX=CO+3 210 TEXT=BO+3:PRNT=TE+3:CHSET=PR+3 220 TRAP=CH+3 230 : 240 REM 'MENUS' VARIABLES 250 MENUS=32768 251 MNUM=ME+3 252 MITM=MN+3 253 MFLG=MN+2 254 MOUSE=MI+3 255 MB=MO+3 256 MX=MB+3:MY=MX+3 260 : 270 : 280 REM USER DEMO - EXPERIMENT WITH IT 285 : 290 REM C-1350 MOUSE IN CONTROL PORT 2 295 : 300 SYS HIRES,0,3,0:POKE53280,14 310 TT$="[215]ORKBENCH [214]ERSION 1.0 30717 BYTES FREE" 320 SYS PRNT,0,0,CHR$(14)+TT$ 325 SYS PRNT,12,10,"[215]ORKING ....." 330 GOSUB1000'BUILD THE STRINGS 335 SYS PRNT,12,10," " 340 SYS MENUS CLR:REM CLEAR MENU LISTS 350 SYS MOUSE,1 :REM SET ARROW CURSOR 355 : 360 REM BUILD THE MENUS 370 SYS MENUS,1,0,1," [198]ILE ",1 371 SYS MENUS,1,1,1," [207]PEN" 372 SYS MENUS,1,2,1," [211]HOW [201]NFO..." 373 SYS MENUS,1,3,0,"---------------" 374 SYS MENUS,1,4,1," [206]EW [198]OLDER..." 375 SYS MENUS,1,5,1," [195]LOSE [198]OLDER" 376 SYS MENUS,1,6,1," [195]LOSE [215]INDOW" 377 SYS MENUS,1,7,0,"---------------" 378 SYS MENUS,1,8,1," [198]ORMAT..." 379 : 380 SYS MENUS,2,0,1," [197]DIT ",8 381 SYS MENUS,2,1,1,EDIT$, 192OR1 382 SYS MENUS,2,2,1,TYPE$, 192OR5 383 SYS MENUS,2,3,1,PEN$, 192OR1 384 SYS MENUS,2,4,1,ERASE$,192OR5 385 SYS MENUS,2,5,1,FILL$, 192OR1 386 SYS MENUS,2,6,1,CUBE$, 192OR5 387 SYS MENUS,2,7,1,SPRAY$,192OR1 388 SYS MENUS,2,8,1,ACTN$, 192OR5 389 : 390 SYS MENUS,3,0,1,FAUNTS$,128OR15 391 SYS MENUS,3,1,1," [208]LAIN",41 392 SYS MENUS,3,2,1,ITALIC$,128OR33 393 SYS MENUS,3,3,1,SCRIPT$,128OR13 394 SYS MENUS,3,4,0,"[192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192]" 395 SYS MENUS,3,5,2," [193]LIGN [204]EFT",42 396 SYS MENUS,3,6,1," [193]LIGN [205]IDDLE ",36 397 SYS MENUS,3,7,1," [193]LIGN [210]IGHT",17 398 : 399 : 400 SYS MENUS,4,0,1," [199]OODIES ",23 401 SYS MENUS,4,1,1,DISK$, 192OR1 402 SYS MENUS,4,2,1,PAPER$,192OR1 403 SYS MENUS,4,3,2,MOUSE$,192OR1 404 SYS MENUS,4,4,1,CMLG$, 192OR1 405 SYS MENUS,4,5,0,"" 406 SYS MENUS,4,6,1," [203]EY " 407 : 408 : 409 : 500 REM DISPLAY MENU BAR & WHITE MOUSE 510 SYS MENUS ON,7,6:SYS MOUSE ON,1 520 : 530 REM MAIN PROGRAM LOOP START 540 : 550 REM POLL VARIABLES AS NEEDED 560 NM=PEEK(MN):IM=PEEK(MI):BT=PEEK(MB) 570 XM=PEEK(MX)+256*PEEK(MX+1) 580 YM=PEEK(MY) 590 : 600 REM 'ON NM GOSUB XXX,XXX,XXX,XXX' 610 IF NM THEN PRINT NM,IM:POKE(MN),0 620 : 630 REM IF BT=1 THEN 'ACT ON RIGHT BTN 640 IF BT=255 GOTO720 'ACT ON LEFT BTN 650 : 660 REM TRY SYS DRAW,RND(1)*320,RND(1)*180 670 REM TRY IF BT=255 THEN SYS DRAW,XM,YM 680 : 690 GOTO530 'MAIN LOOP 700 : 710 REMOVE MOUSE,MENU BAR, AWAIT KEYPRESS 720 SYS MOUSE OFF:SYS MENUS OFF 730 WAIT198,1:GET A$:SYS TEXT:END 740 : 799 : 999 REM SUBROUTINES TO BUILD STRINGS 1000 NS=48:GOSUB2000:EDIT$=A$ 1002 NS=48:GOSUB2000:TYPE$=A$ 1004 NS=48:GOSUB2000:PEN$=A$ 1006 NS=48:GOSUB2000:ERASE$=A$ 1008 NS=48:GOSUB2000:FILL$=A$ 1010 NS=48:GOSUB2000:CUBE$=A$ 1012 NS=48:GOSUB2000:SPRAY$=A$ 1014 NS=48:GOSUB2000:ACTN$=A$ 1016 NS=56:GOSUB2000:FAUNTS$=A$ 1018 NS=56:GOSUB2000:ITALIC$=A$ 1020 NS=56:GOSUB2000:SCRIPT$=A$ 1022 NS=48:GOSUB2000:DISK$=A$ 1024 NS=48:GOSUB2000:PAPER$=A$ 1026 NS=32:GOSUB2000:MOUSE$=A$ 1028 NS=48:GOSUB2000:CMLG$=A$ 1030 RETURN 2000 A$="":FOR I=1 TO NS:READ BYTE 2002 A$=A$+CHR$(BYTE):NEXT 2004 F=FRE(""):RETURN 2006 : 2999 REM STRING DATA 3000 REM EDIT$ - [IMAGE$-2] 3005 DATA 0,124,64,64,64,64,0,0 3010 DATA 0,0,0,0,0,0,0,0 3015 DATA 0,62,2,2,2,2,0,0 3020 DATA 0,0,64,64,64,64,124,0 3025 DATA 0,0,0,0,0,0,0,0 3030 DATA 0,0,2,2,2,2,62,0 3035 REM TYPE$ - [IMAGE$-2] 3040 DATA 0,7,15,28,0,0,0,0 3045 DATA 0,255,255,24,24,24,24,24 3050 DATA 0,224,240,56,0,0,0,0 3055 DATA 0,0,0,0,0,0,0,0 3060 DATA 24,24,24,24,24,60,126,0 3065 DATA 0,0,0,0,0,0,0,0 3070 REM PEN$ - [IMAGE$-2] 3075 DATA 0,0,0,0,0,0,0,0 3080 DATA 0,254,254,130,146,178,162,162 3085 DATA 0,0,0,0,0,0,0,0 3090 DATA 0,0,0,0,0,0,10,0 3095 DATA 130,146,238,68,40,16,176,0 3100 DATA 0,0,0,0,0,0,0,0 3105 REM ERASE$ - [IMAGE$-2] 3110 DATA 0,0,0,0,0,0,0,0 3115 DATA 0,0,0,15,31,33,66,132 3120 DATA 0,0,0,224,160,64,64,128 3125 DATA 1,3,4,4,3,0,0,0 3130 DATA 9,242,12,8,240,0,0,0 3135 DATA 0,0,0,0,0,0,0,0 3140 REM FILL$ - [IMAGE$-2] 3145 DATA 0,0,0,0,0,1,3,7 3150 DATA 0,48,32,64,128,0,255,255 3155 DATA 0,0,0,0,0,56,216,152 3160 DATA 15,31,15,3,0,0,0,0 3165 DATA 255,254,252,248,240,32,0,0 3170 DATA 24,8,8,8,8,0,0,0 3175 REM CUBE$ - [IMAGE$-2] 3180 DATA 0,0,3,12,16,28,23,26 3185 DATA 48,204,3,0,0,1,7,223 3190 DATA 0,0,0,192,96,224,224,224 3195 DATA 21,26,21,14,3,0,0,0 3200 DATA 127,191,127,191,126,248,32,0 3205 DATA 224,224,224,128,0,0,0,0 3210 REM SPRAY$ - [IMAGE$-2] 3215 DATA 0,0,1,6,8,24,16,16 3220 DATA 0,0,255,126,24,126,153,153 3225 DATA 0,16,64,8,32,8,0,0 3230 DATA 16,16,0,0,0,0,0,0 3235 DATA 153,153,255,255,255,255,0,0 3240 DATA 0,0,0,0,0,0,0,0 3245 REM ACTN$ - [IMAGE$-2] 3250 DATA 0,0,0,0,0,0,0,12 3255 DATA 0,0,1,3,7,14,29,59 3260 DATA 0,192,192,128,0,0,128,96 3265 DATA 14,15,7,3,3,1,0,0 3270 DATA 118,185,221,222,191,255,255,255 3275 DATA 216,180,108,216,48,160,192,128 3280 REM FAUNTS$ - [IMAGE$-1] 3285 DATA 0,0,0,0,0,0,0,0 3290 DATA 126,144,80,30,80,144,144,96 3295 DATA 0,0,120,206,205,204,120,0 3300 DATA 0,0,56,100,164,37,66,0 3305 DATA 0,48,252,48,48,241,14,0 3310 DATA 0,24,36,68,130,3,60,0 3315 DATA 0,0,0,0,0,0,0,0 3320 REM ITALIC$ - [IMAGE$-1] 3325 DATA 0,0,0,0,0,0,0,0 3330 DATA 30,12,12,12,24,24,60,0 3335 DATA 0,12,63,12,24,24,14,0 3340 DATA 0,0,30,3,62,102,62,0 3345 DATA 0,28,12,12,24,24,60,0 3350 DATA 0,12,0,28,24,24,60,0 3355 DATA 0,0,30,48,96,96,60,0 3360 REM SCRIPT$ - [IMAGE$-1] 3365 DATA 0,0,0,0,0,0,0,0 3370 DATA 114,140,192,56,6,113,129,126 3375 DATA 0,0,112,200,192,193,126,0 3380 DATA 0,0,80,104,200,69,69,0 3385 DATA 24,0,24,24,24,249,30,0 3390 DATA 0,176,200,136,200,177,142,128 3395 DATA 0,48,252,48,48,241,14,0 3400 REM DISK$ - [IMAGE$-2] 3405 DATA 0,127,64,64,64,64,64,64 3410 DATA 0,255,0,0,126,129,129,129 3415 DATA 0,254,2,2,2,6,2,2 3420 DATA 64,64,64,64,64,64,127,0 3425 DATA 126,0,24,24,24,0,255,0 3430 DATA 2,2,2,2,2,2,254,0 3435 REM PAPER$ - [IMAGE$-2] 3440 DATA 0,15,16,32,32,32,16,8 3445 DATA 0,255,0,0,0,0,0,0 3450 DATA 0,248,16,32,32,32,16,8 3455 DATA 4,30,33,65,65,34,31,0 3460 DATA 0,0,0,0,0,0,255,0 3465 DATA 8,4,2,2,2,4,248,0 3470 REM MOUSE$ - [IMAGE$-2] 3475 DATA 0,127,81,81,81,95,72,72 3480 DATA 0,255,69,69,69,125,9,9 3485 DATA 72,72,72,79,80,96,127,0 3490 DATA 9,9,9,249,5,3,255,0 3495 REM CMLG$ - [IMAGE$-2] 3500 DATA 0,127,64,65,71,79,79,95 3505 DATA 0,255,0,252,252,255,131,3 3510 DATA 0,254,2,2,2,226,194,2 3515 DATA 95,79,79,71,65,64,127,0 3520 DATA 3,131,255,252,252,0,255,0 3525 DATA 2,194,226,2,2,2,254,0 3530 END OF DATA